As a processor for performing image processing at high speed, a parallel processor has been known. The parallel processor performs processing at high speed by performing similar operations to a plurality of elements constituting data simultaneously. In order for the processor to perform parallel processing as in filtering of rectangular image data and 2D orthogonal transformation, it may be necessary to transform data sequences by transposition.
A matrix of data is transposed by interchanging elements constituting the whole matrix so that the rows and columns of the matrix are interchanged. This method, however, has such a problem that the number of times an interchange instruction is executed increases significantly with an increasing number of elements constituting the matrix.
In order to perform transposition at high speed, a method using a matrix transposition device is known (see Patent Literature 1, for example).